package com.xujie.property_warranty_system.dto;

import lombok.Data;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Min;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 设备维护记录DTO
 */
@Data
public class MaintenanceDTO {
    
    /**
     * 记录ID（更新时需要）
     */
    private Long id;
    
    /**
     * 设备ID
     */
    @NotNull(message = "设备ID不能为空")
    private Long facilityId;
    
    /**
     * 维护类型：1-定期维护，2-故障维修
     */
    @NotNull(message = "维护类型不能为空")
    private Integer maintenanceType;
    
    /**
     * 维护日期
     */
    @NotNull(message = "维护日期不能为空")
    private LocalDateTime maintenanceDate;
    
    /**
     * 维护人员
     */
    @NotBlank(message = "维护人员不能为空")
    private String maintenancePerson;
    
    /**
     * 维护结果：1-正常，2-需要跟进，3-建议报废
     */
    @NotNull(message = "维护结果不能为空")
    private Integer maintenanceResult;
    
    /**
     * 维护费用
     */
    @Min(value = 0, message = "维护费用不能为负数")
    private BigDecimal cost;
    
    /**
     * 维护描述
     */
    private String description;
}
